package com.panda.mall.user.account.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panda.mall.common.mallUser.dto.QueryUserDto;
import com.panda.mall.common.mallUser.entity.SystemUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author tucy123
* @description 针对表【system_user(用户表)】的数据库操作Mapper
* @createDate 2023-06-15 16:38:34
* @Entity com.panda.mall.user.account.SystemUser
*/
@Mapper
public interface SystemAccountMapper extends BaseMapper<SystemUser> {

    /**
     * 新增账户角色
     * @param id
     * @param roleId
     */
    boolean addAccountRole(@Param("id") Long id, @Param("userId") Long userId, @Param("roleId") Long roleId);

    /**
     * 修改账户角色
     * @param userId
     * @param roleId
     */
    boolean updateAccountRole(@Param("userId") Long userId, @Param("roleId") Long roleId);

    /**
     * 匹配查询商城账户
     * @return
     */
    Page<SystemUser> queryAllUser(Page<SystemUser> page, @Param("dto") QueryUserDto dto);

    /**
     * 查询商城账户详情
     * @param id
     * @return
     */
    SystemUser queryUserById(Long id);

    /**
     * 删除时查询账户作校验
     * @param ids
     * @return
     */
    List<SystemUser> queryUsersByIds(@Param("ids") List<Long> ids);

    /**
     * 删除角色定位
     * @param ids
     * @return
     */
    Boolean deleteAccountRole(@Param("ids") List<Long> ids);
}
